package net.zjitc.linearlist.impl;

import net.zjitc.linearlist.MyLinearList;

/**
 * Created by Administrator on 2017/3/9.
 */
public class MyLinkList<E> implements MyLinearList<E> {
    //   定义一个变量引用，用来指向第一个结点，也就是说找到这个链表
    private Node<E> start;
    //    记录当前链表的结点的个数
    private int size;
    @Override
    public void add(E e) {
    //如果当前的链表本身没有结点，添加的结点应该是第一个
    /*
    1.先把新的元素构造成一个新结点，新结点的next为null；
    使用Node构造函数实现构造一个新的结点
       * */
    Node<E> newNode =new Node<E>(e,null);
    //2.从链表的开头进行查询，直到找到当前链表的最后一个结点
        //首先定义一个变量，让c指向链表的头结点，表示当前结点
        Node<E> c;
    c=start;
        /*循环判断当前结点c是否指向下一个结点
        如果当前结点c的next为空，则c为最后一个结点，
        否则将c的下一个结点c.next赋值变成当前结点
        * */
        while (c.next!=null){
            c=c.next;
        }
    //3.把新结点赋值给原来链接表的最后一个结点的next

    }

    @Override
    public boolean add(int i, E e) {
        return false;
    }

    @Override
    public E remove(int i) {
        return null;
    }

    @Override
    public int indexOf(E e) {
        return 0;
    }

    @Override
    public E get(int i) {
        return null;
    }

    @Override
    public void edit(int i, E e) {

    }

    @Override
    public int getSize() {
        return 0;
    }

    @Override
    public void clear() {

    }

    @Override
    public boolean isEmpty() {
        return false;
    }
}
